package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.ProductBean;
import org.apache.ibatis.annotations.*;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface IProductMapper {

    /**
     * 分页条件查询
     * @param name 商品名
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @return 商品集合
     */
    List<ProductBean> findByItem(@Param("name") String name,
                                 @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);

    /**
     * 添加商品
     * @param product 商品对象
     */
    @Insert("insert into t_product(p_name,p_price,p_type,p_createDate)values" +
            "(#{name},#{price},#{type},#{createDate})")
    void add(ProductBean product);

    /**
     * 按id删除商品
     * @param id 商品id
     */
    @Delete("delete from t_product where pk_productId=#{id}")
    void del(int id);

    /**
     * 按id修改价格
     * @param id 商品id
     * @param price 商品新价格
     */
    @Update("update t_product set p_price=#{price} where pk_productId=#{id}")
    void update(@Param("id") int id,@Param("price") int price);

    /**
     * 按id查询商品
     * @param id 商品id
     * @return 商品对象
     */
    @Select("select * from t_product where pk_productId=#{id}")
    @ResultMap("productMap")
    ProductBean findById(int id);
}
